﻿using Antlr4.Runtime.Tree;

namespace Peter.Code.ECMAScript
{
   /// <summary>
   /// The visitor peter uses for emca script.
   /// </summary>
   internal class ECMAScriptPeterVisitor : ECMAScriptBaseVisitor <bool>
   {
      /// <summary>
      /// Visit a parse tree produced by <see cref="ECMAScriptParser.variableDeclaration"/>.
      /// <para>
      /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
      /// on <paramref name="context"/>.
      /// </para>
      /// </summary>
      /// <param name="context">The parse tree.</param>
      /// <return>The visitor result.</return>
      public override bool VisitVariableDeclaration (ECMAScriptParser.VariableDeclarationContext context)
      {
         return base.VisitVariableDeclaration (context);
      }

      /// <summary>
      /// Visit a parse tree produced by <see cref="ECMAScriptParser.variableDeclarationList"/>.
      /// <para>
      /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
      /// on <paramref name="context"/>.
      /// </para>
      /// </summary>
      /// <param name="context">The parse tree.</param>
      /// <return>The visitor result.</return>
      public override bool VisitVariableDeclarationList (ECMAScriptParser.VariableDeclarationListContext context)
      {
         return base.VisitVariableDeclarationList (context);
      }

      /// <summary>
      /// Visit a parse tree produced by <see cref="ECMAScriptParser.variableStatement"/>.
      /// <para>
      /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
      /// on <paramref name="context"/>.
      /// </para>
      /// </summary>
      /// <param name="context">The parse tree.</param>
      /// <return>The visitor result.</return>
      public override bool VisitVariableStatement (ECMAScriptParser.VariableStatementContext context)
      {
         return base.VisitVariableStatement (context);
      }
   }
}
